#ifndef DWARF__SUBPROGRAM_H
#define DWARF__SUBPROGRAM_H

#include "RaiiDie.h"

namespace dwarf {

class Subprogram {
private:
	Dwarf_Debug debug_;
	Dwarf_Off offset_;
	void *lowPc_;
	void *highPc_;
public:
	Subprogram(bool &_rtn, Dwarf_Debug _debug, Dwarf_Die _die);
	Subprogram(const Subprogram &_subprogram);
	~Subprogram();
public:
	Dwarf_Debug getDebug() const;
	RaiiDie getDie() const;
	RaiiPointer<char *> getName() const;
	const void *getLowPc() const;
	const void *getHighPc() const;
};

}

#endif // DWARF__SUBPROGRAM_H
